﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using KendoMvcUI.Core;
using KendoMvcUI.Common;
using System.Web.Mvc;

namespace KendoMvcUI.UI
{
    public class MaskedTextBox:KendoUIBase
    {
        public MaskedTextBox(KendoUIControlSettings settings,ViewContext context,IViewDataContainer viewDataContainer)
            :base(settings,context,viewDataContainer)
        { }
        public override string RenderHtml()
        {
            return "<input id=\"{0}\"/>".Formator(Settings.Id);
        }
    }
    public class MaskedTextBoxSettings : KendoUIControlSettings
    {
        public MaskedTextBoxSettings()
            : base("kendoMaskedTextBox")
        { }
        /// <summary>
        /// Specifies whether the widget will replace the prompt characters with 
        /// spaces on blur. Prompt chars will be shown again on focus
        /// default:false
        /// </summary>
        public bool? ClearPromptChar { get; set; }
        /// <summary>
        /// Specifies the culture info used by the widget.
        /// default:en-US
        /// </summary>
        public string Culture { get; set; }
        /// <summary>
        /// Specifies the input mask. The following mask rules are supported:
        ///0 - Digit. Accepts any digit between 0 and 9.
        ///9 - Digit or space. Accepts any digit between 0 and 9, plus space.
        ///# - Digit or space. Like 9 rule, but allows also (+) and (-) signs.
        ///L - Letter. Restricts input to letters a-z and A-Z. This rule is equivalent to [a-zA-Z] in regular expressions.
        ///? - Letter or space. Restricts input to letters a-z and A-Z. This rule is equivalent to [a-zA-Z] in regular expressions.
        ///& - Character. Accepts any character. The rule is equivalent to \S in regular expressions.
        ///C - Character or space. Accepts any character. The rule is equivalent to . in regular expressions.
        ///A - Alphanumeric. Accepts letters and digits only.
        ///a - Alphanumeric or space. Accepts letters, digits and space only.
        ///. - Decimal placeholder. The decimal separator will be get from the current culture used by Kendo.
        ///, - Thousands placeholder. The display character will be get from the current culture used by Kendo.
        ///$ - Currency symbol. The display character will be get from the current culture used by Kendo.
        ///default:""
        /// </summary>
        public string Mask { get; set; }
        /// <summary>
        /// default:"_"
        /// Note that the promptChar should not be equal to any of the used mask literals in the mask value.
        /// </summary>
        public string PromptChar { get; set; }
        /// <summary>
        /// Defines an object of custom mask rules.
        /// example:
        /// rules: {
        ///"~": /[+-]/
        ///}
        /// </summary>
        public string Rules { get; set; }
        /// <summary>
        /// Specifies the value of the MaskedTextBox widget
        /// </summary>
        public string Value { get; set; }

        #region 事件
        public string On_Change { get; set; }
        #endregion
    }
}
